\hypertarget{classgraph_1_1explorer}{\section{graph\-:\-:explorer$<$ \-T, container $>$ \-Class \-Template \-Reference}
\label{classgraph_1_1explorer}\index{graph\-::explorer$<$ T, container $>$@{graph\-::explorer$<$ T, container $>$}}
}
\subsection*{\-Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classgraph_1_1explorer_1_1path__iterator}{path\-\_\-iterator}
\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classgraph_1_1explorer_a7aa72bb3369f1a0dcbef6958d048e21d}{{\bfseries explorer} (container \&c)}\label{classgraph_1_1explorer_a7aa72bb3369f1a0dcbef6958d048e21d}

\item 
{\footnotesize template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func , class \-\_\-\-Edge\-\_\-check\-\_\-func $>$ }\\bool \hyperlink{classgraph_1_1explorer_aa967169a22798c9745c098d542f22c25}{bfs\-\_\-until} (int s, \-\_\-\-Vertex\-\_\-found\-\_\-func found, \-\_\-\-Edge\-\_\-check\-\_\-func edge\-\_\-check)
\item 
\hypertarget{classgraph_1_1explorer_ad0e4d8d084a0a38c5da98c6c97177ab9}{{\footnotesize template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func $>$ }\\bool {\bfseries bfs\-\_\-until} (int s, const \-\_\-\-Vertex\-\_\-found\-\_\-func \&found)}\label{classgraph_1_1explorer_ad0e4d8d084a0a38c5da98c6c97177ab9}

\item 
\hypertarget{classgraph_1_1explorer_a7714aed65b338a064e75e1f0f15dcff6}{bool {\bfseries bfs} (int s, int t=-\/1)}\label{classgraph_1_1explorer_a7714aed65b338a064e75e1f0f15dcff6}

\item 
\hypertarget{classgraph_1_1explorer_a5293572f31cbf7790caefb8cb08b8563}{{\footnotesize template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func , class \-\_\-\-Edge\-\_\-check\-\_\-func $>$ }\\bool {\bfseries dfs\-\_\-until} (int s, \-\_\-\-Vertex\-\_\-found\-\_\-func found, \-\_\-\-Edge\-\_\-check\-\_\-func edge\-\_\-check)}\label{classgraph_1_1explorer_a5293572f31cbf7790caefb8cb08b8563}

\item 
\hypertarget{classgraph_1_1explorer_af30ed16cfb195fea18059a963bb2bd52}{{\footnotesize template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func $>$ }\\bool {\bfseries dfs\-\_\-until} (int s, const \-\_\-\-Vertex\-\_\-found\-\_\-func \&found)}\label{classgraph_1_1explorer_af30ed16cfb195fea18059a963bb2bd52}

\item 
\hypertarget{classgraph_1_1explorer_a4230923c1fd59383469805424634e0bb}{bool {\bfseries dfs} (int s, int t=-\/1)}\label{classgraph_1_1explorer_a4230923c1fd59383469805424634e0bb}

\item 
{\footnotesize template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func $>$ }\\bool \hyperlink{classgraph_1_1explorer_afa222404714e24e17ccf7e1edd5898c0}{dijkstra\-\_\-until} (int s, \-\_\-\-Vertex\-\_\-found\-\_\-func found)
\item 
\hypertarget{classgraph_1_1explorer_a186a152a77a7ebc24c60307f0909d4c1}{bool {\bfseries dijkstra} (int s, int t=-\/1)}\label{classgraph_1_1explorer_a186a152a77a7ebc24c60307f0909d4c1}

\item 
{\footnotesize template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func $>$ }\\bool \hyperlink{classgraph_1_1explorer_aac330e1714dc9b43b96bfbec6fa6a696}{spfa\-\_\-until} (int s, \-\_\-\-Vertex\-\_\-found\-\_\-func found)
\item 
\hypertarget{classgraph_1_1explorer_acb877da7aaa550cd48b040ff28e8ebc9}{bool {\bfseries spfa} (int s, int t=-\/1)}\label{classgraph_1_1explorer_acb877da7aaa550cd48b040ff28e8ebc9}

\item 
void \hyperlink{classgraph_1_1explorer_a0ccb2c39e19b5dc568ea046bd207f588}{flyod} ()
\item 
\hypertarget{classgraph_1_1explorer_a60dcc04aecdc21b603bede22c9a81d61}{\-T {\bfseries distance} (int s, int t)}\label{classgraph_1_1explorer_a60dcc04aecdc21b603bede22c9a81d61}

\item 
\hypertarget{classgraph_1_1explorer_aa9c5af4edbf5770134ba3b306bbe68d5}{void {\bfseries clear} ()}\label{classgraph_1_1explorer_aa9c5af4edbf5770134ba3b306bbe68d5}

\item 
\hypertarget{classgraph_1_1explorer_a8b415e9cac3b0c66b0d933d8d0b8cf7b}{\hyperlink{classgraph_1_1explorer_1_1path__iterator}{path\-\_\-iterator} {\bfseries path\-\_\-begin} (int s, int t=-\/1)}\label{classgraph_1_1explorer_a8b415e9cac3b0c66b0d933d8d0b8cf7b}

\item 
\hypertarget{classgraph_1_1explorer_a8deaef54118ef04c4d5ed60bef831741}{\hyperlink{classgraph_1_1explorer_1_1path__iterator}{path\-\_\-iterator} {\bfseries path\-\_\-end} (int s, int t=-\/1)}\label{classgraph_1_1explorer_a8deaef54118ef04c4d5ed60bef831741}

\end{DoxyCompactItemize}
\subsubsection*{template$<$class \-T, class container = class adjacent\-\_\-graph$<$\-T$>$$>$ class graph\-::explorer$<$ T, container $>$}



\subsection{\-Member \-Function \-Documentation}
\hypertarget{classgraph_1_1explorer_aa967169a22798c9745c098d542f22c25}{\index{graph\-::explorer@{graph\-::explorer}!bfs\-\_\-until@{bfs\-\_\-until}}
\index{bfs\-\_\-until@{bfs\-\_\-until}!graph::explorer@{graph\-::explorer}}
\subsubsection[{bfs\-\_\-until}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-T, class container = class adjacent\-\_\-graph$<$\-T$>$$>$ template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func , class \-\_\-\-Edge\-\_\-check\-\_\-func $>$ bool {\bf graph\-::explorer}$<$ \-T, container $>$\-::{\bf bfs\-\_\-until} (
\begin{DoxyParamCaption}
\item[{int}]{s, }
\item[{\-\_\-\-Vertex\-\_\-found\-\_\-func}]{found, }
\item[{\-\_\-\-Edge\-\_\-check\-\_\-func}]{edge\-\_\-check}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classgraph_1_1explorer_aa967169a22798c9745c098d542f22c25}
bfs walker \hypertarget{classgraph_1_1explorer_afa222404714e24e17ccf7e1edd5898c0}{\index{graph\-::explorer@{graph\-::explorer}!dijkstra\-\_\-until@{dijkstra\-\_\-until}}
\index{dijkstra\-\_\-until@{dijkstra\-\_\-until}!graph::explorer@{graph\-::explorer}}
\subsubsection[{dijkstra\-\_\-until}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-T, class container = class adjacent\-\_\-graph$<$\-T$>$$>$ template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func $>$ bool {\bf graph\-::explorer}$<$ \-T, container $>$\-::{\bf dijkstra\-\_\-until} (
\begin{DoxyParamCaption}
\item[{int}]{s, }
\item[{\-\_\-\-Vertex\-\_\-found\-\_\-func}]{found}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classgraph_1_1explorer_afa222404714e24e17ccf7e1edd5898c0}
dijkstra algorithm, find the shortest distance between source and destiny. \hypertarget{classgraph_1_1explorer_a0ccb2c39e19b5dc568ea046bd207f588}{\index{graph\-::explorer@{graph\-::explorer}!flyod@{flyod}}
\index{flyod@{flyod}!graph::explorer@{graph\-::explorer}}
\subsubsection[{flyod}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-T, class container = class adjacent\-\_\-graph$<$\-T$>$$>$ void {\bf graph\-::explorer}$<$ \-T, container $>$\-::{\bf flyod} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classgraph_1_1explorer_a0ccb2c39e19b5dc568ea046bd207f588}
flyod algorithm, find the shortest distance between every vertex pairs. \hypertarget{classgraph_1_1explorer_aac330e1714dc9b43b96bfbec6fa6a696}{\index{graph\-::explorer@{graph\-::explorer}!spfa\-\_\-until@{spfa\-\_\-until}}
\index{spfa\-\_\-until@{spfa\-\_\-until}!graph::explorer@{graph\-::explorer}}
\subsubsection[{spfa\-\_\-until}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class \-T, class container = class adjacent\-\_\-graph$<$\-T$>$$>$ template$<$class \-\_\-\-Vertex\-\_\-found\-\_\-func $>$ bool {\bf graph\-::explorer}$<$ \-T, container $>$\-::{\bf spfa\-\_\-until} (
\begin{DoxyParamCaption}
\item[{int}]{s, }
\item[{\-\_\-\-Vertex\-\_\-found\-\_\-func}]{found}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}\label{classgraph_1_1explorer_aac330e1714dc9b43b96bfbec6fa6a696}
\-S\-P\-F\-A algorithm. \-A modification of bellman algorithm. \-Allows negative edge. 

\-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
graph/graph.\-h\end{DoxyCompactItemize}
